﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Ue.Extensions
{
    public static class EnumExtensions
    {
        /// <summary>
        /// 判断值是否存在于集合中，主要用于位枚举的判断
        /// </summary>
        /// <param name="col"></param>
        /// <param name="value"></param>
        /// <returns></returns>
        public static bool Contains(this Enum col, Enum value)
        {
            if (col.GetType() != value.GetType())
            {
                return false;
            }

            if (!col.Equals(value))
            {
                return (col.As<int>() & value.As<int>()) != 0;
            }

            return true;
        }
    }
}
